精通Linux系列五:目录操作(学完再也不担心删库跑路了)
点击关注公众号,AI&编程干货及时送达
我们在 [“文件系统”] 中讨论了Linux的目录结构。现在我们将介绍在该结构中创建、修改、删除和操作目录的命令。
命令 | 作用 |
cd | 改变你当前的目录(即,文件系统中的“你现在在哪里”)。 |
pwd | 打印你当前的目录名称。 |
basename | 打印文件路径的最后一部分。 |
dirname | 打印没有最后一部分的文件路径。 |
mkdir | 创建(制作)一个目录。 |
rmdir | 删除(移除)一个空目录。 |
rm -r | 删除一个非空目录及其内容。 |
cd
stdin stdout - 文件 -- 选项 --帮助 --版本
cd [目录]
cd
(change directory)命令设置你当前的工作目录:
→ cd /usr/games
如果没有提供目录,cd
默认为你的主目录:
→ cd
pwd
stdin stdout - 文件 -- 选项 --帮助 --版本
pwd
pwd
命令打印你当前工作目录的绝对路径:
→ pwd
/users/smith/linuxpocketguide
basename
stdin stdout - 文件 -- 选项 --帮助 --版本
basename 路径 [扩展名]
basename
命令打印文件路径中的最后一部分:
→ basename /users/smith/finances/money.
money.
如果你提供了一个可选的扩展名,它会从结果中剔除:
→ basename /users/smith/finances/money. .
money
dirname
stdin stdout - 文件 -- 选项 --帮助 --版本
dirname 路径
dirname
命令打印出移除最后一部分的文件路径:
→ dirname /users/smith/mydir
/users/smith
dirname
并不改变你当前的工作目录。它仅仅操作并打印一个字符串,就像basename
一样。
mkdir
stdin stdout - 文件 -- 选项 --帮助 --版本
mkdir [选项] 目录
mkdir
创建一个或多个目录:
→ mkdir directory1 directory2 directory3
有用的选项
-p | 给出一个目录路径(不仅仅是一个简单的目录名),自动创建任何必要的父目录。此命令:→ ** mkdir -p one/two/three** 如果它们还不存在,将创建one和one/two和one/two/three。 |
-m mode | 以给定的权限创建目录:→ ** mkdir -m 0755 publicdir** 默认情况下,你的shell的umask控制权限。参见 [“文件属性”] 中的chmod 命令,以及 [“文件保护”]。 |
rmdir
stdin stdout - 文件 -- 选项 --帮助 --版本
rmdir [选项] 目录
rmdir
(remove directory)命令删除一个或多个你指定的空目录:
→ mkdir /tmp/junk 创建一个目录
→ rmdir /tmp/junk
有用的选项
| -p
| 如果你提供了一个目录路径(而不仅仅是一个简单的目录名称),它不仅会删除给定的目录,还会自动删除指定的父目录,所有这些都必须是空的。所以rmdir -p one/two/three
不仅会删除one/two/three,还会删除one/two和one。|
要删除一个非空目录及其内容,使用(谨慎)rm -r
*目录
*。使用rm -ri
进行交互式删除,或使用rm -rf
进行不带任何错误消息或确认的删除。
推荐阅读
你好,我是拾叁,7年开发老司机、互联网两年外企5年。怼得过阿三老美,也被PR comments搞崩溃过。这些年我打过工,创过业,接过私活,也混过upwork。赚过钱也亏过钱。一路过来,给我最深的感受就是不管学什么,一定要不断学习。只要你能坚持下来,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯和编程知识,帮你积累弯道超车的资本。